之前我们讲了VAE
但原有问题
希望从训练样本分布中采样新数据,但这个分布不仅维度高,而且还很复杂,难以实现
所以期望对一个简单的分布采样,比如正态分布,然后学习一种映射将其变换到训练样本分布,这种映射的方式可以通过神经网络来学习
参考之前总结的
可以通过一个比喻来理解生成对抗网络(GAN)的工作原理:
想象一场假币制造比赛,有两名参赛者:造币专家(生成器)和验币专家(判别器)。
- 造币专家(生成器):这位专家的任务是制造伪造的硬币,希望这些伪造硬币尽量像真正的硬币一样。生成器开始时可能只是随机制造硬币,但通过不断练习,它学会了如何制造更加逼真的伪造硬币。
- 验币专家(判别器):验币专家的任务是检查硬币,确定它们是真正的还是伪造的。判别器开始时可能很容易识别伪造硬币,但随着时间的推移,它变得越来越擅长区分真伪。
比赛的规则如下:
- 造币专家(生成器)制造了一些伪造硬币,并将它们交给验币专家(判别器)。
- 验币专家(判别器)尝试检查硬币,然后告诉造币专家哪些硬币是伪造的,哪些是真的。
- 造币专家(生成器)收到反馈后,尝试改进伪造硬币的制造方法,以使它们更难被验币专家(判别器)识别。
- 验币专家(判别器)也在不断提高自己的检测技能,以侦测越来越逼真的伪造硬币。
这个过程不断重复,生成器和判别器互相竞争,生成器努力制造更逼真的伪造硬币,判别器努力提高自己的验币技能。随着时间的推移,生成器越来越擅长制造逼真的伪造硬币,而判别器越来越擅长检测它们。最终,生成器制造的伪造硬币变得如此逼真,以至于判别器几乎无法区分真伪。